import { HttpClient } from '@/utils/http';

const http = new HttpClient(import.meta.env.VITE_API_BASE_URL);

export const userApi = {
  testApi: (params) => {
    return http.get('https://jsonplaceholder.typicode.com/todos/1', params);
  },
  // 使用默认过滤规则
  searchUsers: (params) => {
    return http.get('/api/users', {
      params,
    });
  },

  // 带缓存的请求
  getUserInfo: (id) => {
    return http.get(`/api/user/${id}`, {
      cache: {
        enable: true,
        timeout: 300,
        key: `user_${id}`
      }
    });
  },

  // 队列请求，带重试
  updateUser: (data) => {
    return http.post('/api/user', data, {
      queue: {
        enable: true,
        retry: 3,
        priority: 1
      }
    });
  },

  // 批量请求
  batchUpdateUsers: (users) => {
    return Promise.all(
      users.map(user => 
        http.post('/api/user', user, {
          queue: {
            enable: true,
            priority: 0
          }
        })
      )
    );
  },

  // 自定义过滤规则
//   updateUser: (data) => {
//     return http.post('/api/user', data, {
//       filter: {
//         enable: true,
//         rules: {
//           removeEmpty: true,
//           removeNull: true,
//           removeUndefined: true,
//           removeFalsy: false,
//           // 自定义过滤规则
//           custom: (value) => value === 0
//         }
//       }
//     });
//   },

  // 禁用参数过滤
//   createUser: (data) => {
//     return http.post('/api/user', data, {
//       filter: {
//         enable: false
//       }
//     });
//   }
};

export default userApi